package com.zbs.framework.swagger.entity;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author Zbs
 * @since 2022-01-05
 */
@Getter
@Setter
@Accessors(chain = true)
@ToString
public class ColumnsVo implements Serializable {

    private static final long serialVersionUID = 7452315192390672439L;

    /**
     * 数据字段登记目录
     */
    private String tableCatalog;

    /**
     * 数据库名
     */
    private String tableSchema;

    /**
     * 表名 | 视图名
     */
    private String tableName;

    /**
     * 列名
     */
    private String columnName;

    private Integer ordinalPosition;

    /**
     * 列的默认值
     */
    private String columnDefault;

    /**
     * 是否可以取空值
     */
    private String isNullable;

    /**
     * 列的数据类型
     */
    private String dataType;

    /**
     * 列的最大长度（这列只有在数据类型为char | varchar 时才有意义）
     */
    private Long characterMaximumLength;

    private Long characterOctetLength;

    /**
     * num长度
     */
    private Long numericPrecision;

    /**
     * 小数点位数
     */
    private Long numericScale;

    private Integer datetimePrecision;

    private String characterSetName;

    private String collationName;

    /**
     * 更详细数据类型
     */
    private String columnType;

    /**
     * 列上的索引类型 主键-->PRI  | 唯一索引 -->UNI  一般索引 -->MUL
     */
    private String columnKey;

    private String extra;

    private String privileges;

    /**
     * 备注
     */
    private String columnComment;

    private String generationExpression;

    private Integer srsId;


}
